package dsq.thedroid.contacts;
import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;
import android.net.Uri;
import android.provider.ContactsContract;
public class DefaultContacts implements Contacts {
private final ContactFinder finder = new DefaultContactFinder();
public void browse(Activity activity, int reqCode) {
Intent pickContacts = new Intent(Intent.ACTION_PICK, ContactsContract.CommonDataKinds.Phone.CONTENT_URI);
activity.startActivityForResult(pickContacts, reqCode);
}
public BasicContact process(Activity activity, Intent data) throws NoPhoneNumberException {
BasicContact contact = null;
Uri contactData = data.getData();
Cursor cursor = activity.managedQuery(contactData, null, null, null, null);
if (cursor.moveToFirst()) {
contact = finder.find(cursor, activity.getContentResolver());
}
cursor.close();
if (contact == null) throw new IllegalStateException("No phone number to process.");
return contact;
}
}